home *** CD-ROM | disk | FTP | other *** search
- MindImages - Documentation for P.C. version 2.00: 7 Jan 1993
-
- V.G.A. required to view the images
- (unless there is sufficient demand for support of other graphics adapters).
- PostScript can be generated on other graphics types.
-
- Program conceived and created by:
-
- Eric Thompson : E.Thompson@newcastle.ac.uk
- Rob Scott : Robert.Scott@newcastle.ac.uk
- Gordon Flanagan : G.J.Flanagan@newcastle.ac.uk
-
- To run MindImages from a dos prompt type:
-
- MINDIMG
-
-
- Description:
- ============
-
- MindImages was written to allow the creation of single image random dot
- stereograms (sirds) from compressed depth information. The compression format
- was specifically designed to allow direct transmission across the Internet
- to the newsgroup alt.3d, where the interest in sirds has snowballed in the
- last few months, thanks to Andy Kinsmans' Torus - a couple of hundred K
- postscript bit image.
-
- Needless to say, postscript images take up a lot of network bandwidth, so
- it was decided to take the original depth information, compress it and
- transmit the much smaller (5 - 30K typ.) files.
-
- MindImages will take the files as input and create either:
-
- An on screen black and white rds,
- An on screen red/green or red/blue stereogram (use coloured glasses)
- A postscript bit image to throw at your postscript printer.
-
-
- Viewing sirds:
- ==============
-
- There are two ways to view these stereograms. These are:
-
- 1) wide eyed.
- 2) cross eyed.
-
- Both will create a 3d image in the brain, but the image will be inverted
- using one way as opposed to the other. That is to say, parts of the image
- which are raised when viewed wide eyed will descend into the screen or paper
- if viewed cross eyed.
-
- It is helpful when starting to put two small pieces of blu-tac or coloured
- sticky tape on the top of the monitor. These should be at exactly 1/5 of
- the display window apart, in the centre.
-
- With the stereogram on the monitor or piece of paper:
-
- 1) At about 30 - 50 cm from the display, focus on a point directly
- behind (3 metres or more away) so that the two marks are out of focus and
- have split into four marks. Now, by adjusting your focus/distance try to
- get the right hand mark as seen by the left eye and the left hand mark as
- seen by the right eye to converge. When these lock together, keep the same
- dopey look and allow your eyes to drop down onto the random pattern -
- you should now be smiling as the 3d picture appears from nowhere.
-
- 2) At a distance that is comfortable, cross your eyes until you have
- three marks in focus and gaze at the random pattern as above.
-
- Note: If you are using the screen display, *Density 128 makes the picture
- easier to see for most people, whereas *Density 200 is easier for a
- postscript image (and saves toner).
-
-
- Compressed file format:
- =======================
-
- [You need only read this if you are curious]
-
- The first line of the compressed file contains a copyright message
- terminated by a line feed and/or carriage return.
-
- The following lines are separated by line feeds and/or carriage returns
- at a convenient line width (usually 75 chars). These separators are ignored
- by the program.
-
- The next two bytes refer to the xcale and yscale respectively. The largest
- size handled being 512x by 512y (xscale=1 yscale=1). An xscale of 2 and
- yscale of 4 would describe depth info of a 256x by 128y grid. The scale
- values are added to 33 to get them into the ascii range (this would have
- been 32, the space character, but some terminals/machines strip trailing
- spaces).
-
- In this case, the depth value has been limited to the range 0 - 63,
- conveniently leaving 30 unused values in the ascii range after adding the
- 33 offset. Total range here is 33 to 126.
-
- In creating the output file, a variation of run length encoding is used to
- fill a large buffer with depth values and running counts (up to 96)
- i.e. if there are 12 horizontal values of depth 25 then the buffer would
- contain 25,12,...
-
- Now the unused ascii values come into play:
- We can look at the previous 30 colour/count combinations (or up to the
- current number of combinations processed-2 if we have done less than 30)
- and if we find that this 25,12 combination has appeared within this range
- at say, the 14th position back, then we would place the single value:
-
- 33+63+14=110 in our output file.
-
- If however, this colour/count combination did not exist within this range,
- then we would place the values:
-
- 33+colour and 33+count in our output file.
-
- Thus if repeated values are present we reduce the total number of bytes
- needed even further.
-
- The last valid byte in the output file is a checksum which is the sum of all
- the bytes in the title string that are greater than 32 added to (the sum of
- all the succeeding bytes in the output file - 33, ignoring line feeds etc).
-
- Now take this number MOD 64 and add 33 ...done!
-
- The checksum allows a check on file integrity and helps to protect the
- copyright string at the start which will be printed at the top left hand
- corner of the printed image.
-